package com.authority.framework.base.util;

import java.util.HashMap;

/**
 * @program: jxkh_m
 * @description: 上传文件处理
 * @author: Mr.Yan
 * @create: 2019-01-07 13:40
 **/
public class FileTypeUtil {

	// 缓存文件头信息-文件头信息
	public static final HashMap<String, String> mFileTypes = new HashMap<String, String>();

	static {
		// images
		mFileTypes.put("jpg", "imageFile");
		mFileTypes.put("png", "imageFile");
		mFileTypes.put("gif", "imageFile");
		mFileTypes.put("tif", "imageFile");
		mFileTypes.put("bmp", "imageFile");

		mFileTypes.put("html", "htmlFile");

		mFileTypes.put("eml", "emlFile"); // 邮件

		mFileTypes.put("pdf", "pdfFile");

		mFileTypes.put("doc", "wordFile");
		mFileTypes.put("docx", "wordFile");

		mFileTypes.put("xls", "excelFile");//excel2003版本文件
		mFileTypes.put("xlsx", "excelFile");//excel2007以上版本文件

		mFileTypes.put("dwg", "textFile"); // CAD
		mFileTypes.put("psd", "textFile");
		mFileTypes.put("rtf", "textFile"); // 日记本
		mFileTypes.put("xml", "textFile");
		mFileTypes.put("mdb", "textFile");
		mFileTypes.put("ps", "textFile");

		mFileTypes.put("rar", "condenseFile");
		mFileTypes.put("gz", "condenseFile");
		mFileTypes.put("zip", "condenseFile");

		mFileTypes.put("wav", "videoFile");
		mFileTypes.put("avi", "videoFile");
		mFileTypes.put("rm", "videoFile");
		mFileTypes.put("mpg", "videoFile");
		mFileTypes.put("mov", "videoFile");
		mFileTypes.put("asf", "videoFile");
		mFileTypes.put("mid", "videoFile");
		mFileTypes.put("mp3", "videoFile");
		mFileTypes.put("mp4", "videoFile");
		mFileTypes.put("mp5", "videoFile");

	}

	/**
	 * @return 后缀迷宫
	 * 方法描述：根据文件后缀名分类
	 */
	public static String getFileType(String fileExtension) {
		String type = mFileTypes.get(fileExtension);
		if (StringUtils.isEmpty(type)) {
			type = "otherFile";
		}
		return type;
	}

	/**
	 * 截取文件的后缀名，
	 * @param fileName
	 * @return
	 */
	public static String getFileExtension(String fileName){
		return fileName.substring(fileName.lastIndexOf(".")).replace(".", "");
	}

}
